package com.key.common.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.sql.Timestamp;
import java.util.List;

/**
 * @author wei
 * @create 2023-02-17 19:02
 */
@ApiModel(value = "新建盘点单时需要的属性")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class StocktakingFormDTO {

    @ApiModelProperty(name = "sfName",notes = "盘点单名称",required = true)
    private String sfName;

    @ApiModelProperty(name = "assignEmpsName",notes = "分配用户的id，可分配多个",required = true)
    private List<String> assignEmpsName;

    @ApiModelProperty(name = "sfRemark",notes = "备注",required = true)
    private String sfRemark;

    @ApiModelProperty(name = "sfCreater",notes = "创建人",required = true)
    private String sfCreater;

    @ApiModelProperty(name = "sfIsAll",notes = "是否全员盘点(1:是，2:否)",required = true)
    private Integer sfIsAll;

    @ApiModelProperty(name = "sfIsPlate",notes = "盘点时是否必须拍照(1:是，2:否)",required = true)
    private Integer sfIsPlate;

    @ApiModelProperty(name = "sfIsManual",notes = "是否允许手动选择资产盘点(1:是，2:否)",required = true)
    private Integer sfIsManual;

    @ApiModelProperty(name = "sfIsUpload",notes = "盘点是否允许拍照上(1:是，2:否)",required = true)
    private Integer sfIsUpload;

    @ApiModelProperty(name = "sfIsContainCallout",notes = "是否包含已经调出未确认资产(1:是，2:否)",required = true)
    private Integer sfIsContainCallout;

//    @ApiModelProperty(name = "purchaseDate",notes = "购入日期",required = true)
//    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd",timezone="GMT+8")
//    private Timestamp purchaseDate;

    @ApiModelProperty(name = "departmentName",notes = "使用部门",required = true)
    private String departmentName;

    @ApiModelProperty(name = "assetsModelName",notes = "资产型号",required = true)
    private String assetsModelName;

    @ApiModelProperty(name = "assetsRegionName",notes = "资产区域",required = true)
    private String assetsRegionName;

    @ApiModelProperty(name = "assetsState",notes = "资产状态,1:闲置，2:领用，3:借用，4:调拨中，5:损坏，6:报修，7:维修中，8:报废",required = true)
    private Integer assetsState;
}
